<template>
  <div class="nav-bar">
    <ul class="nav-list">
      <router-link tag="li" class="nav-list-item active" to="home">
        <van-icon name="wap-home-o" />
        <span>首页</span>
      </router-link>
      <router-link tag="li" class="nav-list-item" to="category">
        <van-icon name="orders-o" />
        <span>分类</span>
      </router-link>
      <router-link tag="li" class="nav-list-item" to="cart">
        <van-icon  name="shopping-cart-o" :badge="!count ? '' : count" />
        <span>购物车</span>
      </router-link>
      <router-link tag="li" class="nav-list-item" to="user">
        <van-icon name="setting-o" />
        <span>我的</span>
      </router-link>
    </ul>
  </div>
</template>

<script>
import {onMounted,computed} from 'vue';
import {useRoute} from 'vue-router';
import {useStore} from 'vuex';
import { getLocal } from '@/common/js/utils'
export default {
  name: 'navBar',
  props: {
    
  },
  setup(){
    const route = useRoute();
    const store = useStore();
    onMounted(()=>{
      const path = route.path;
      const token = getLocal('token');
      if(token && !['/home','category'].includes(path)){
        store.dispatch('updateCart');
      }
    })
    const count = computed(()=>{
      return store.state.cartCount
    })

    return{
      count
    }
  }
}
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped lang="scss">
@import '@/common/style/mixin';
.nav-bar{
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  padding: 5px 0;
  z-index: 1000;
  background: #fff;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
  .nav-list {
    width: 100%;
    @include fj();
    flex-direction: row;
    padding: 0;
    .nav-list-item {
      display: flex;
      flex: 1;
      flex-direction: column;
      text-align: center;
      color: #666;
      &.router-link-active {
        color: $primary;
      }
      i {
        text-align: center;
        font-size: 22px;
      }
      span{
        font-size: 12px;
      }
      .van-icon-shopping-cart-o {
        margin: 0 auto;
        margin-bottom: 2px;
      }
    }
  }
}
</style>
